﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// 订单物料采购进度实体类
    /// </summary>
    public class PurchaseProgressMondel
    {
        [Key]
        public int id { get; set; }
        // 主表信息
        /// <summary>
        /// 生产订单主题（必填）
        /// </summary>
        public string ProductionOrderSubject { get; set; }  // 示例："制动液压助力器采购"

        /// <summary>
        /// 生产订单编号（系统生成）
        /// </summary>
        public string ProductionOrderCode { get; set; }// 格式：PO-YYYYMMDDHHMMSS

        /// <summary>
        /// 关联项目编号（下拉选择）
        /// </summary>
        public string RelatedProject { get; set; }  // 示例："医疗器械项目-2025"

        // 物料信息
        /// <summary>
        /// 产品标准名称
        /// </summary>
        public string ProductName { get; set; }  // 示例："制动液压助力器"

        /// <summary>
        /// 物料编码（ERP系统编码）
        /// </summary>
        public string ProductCode { get; set; }  // 示例："010060/KTX-YMHJ-OBE"

        /// <summary>
        /// 规格参数组合
        /// </summary>
        public string Specification { get; set; }  // 示例："HRB400E"

        /// <summary>
        /// 计量单位
        /// </summary>
        public string Unit { get; set; }  // 示例："个/吨"

        // 数量统计
        /// <summary>
        /// 建议采购数量（必填）
        /// </summary>
        public decimal RequiredQuantity { get; set; }  // 示例：100.00

        /// <summary>
        /// 已发起采购数量
        /// </summary>
        public decimal OrderedQuantity { get; set; }  // 示例：0.00

        /// <summary>
        /// 实际入库数量（带颜色标记）
        /// </summary>
        public decimal ReceivedQuantity { get; set; }  // 示例：100.00

        // 时间管理
        /// <summary>
        /// 建议采购时间（带延误标记）
        /// </summary>
        public DateTime SuggestedPurchaseDate { get; set; }  // 示例：2021-04-30

        /// <summary>
        /// 建议到货时间（自动计算延期）
        /// </summary>
        public DateTime SuggestedArrivalDate { get; set; }  // 示例：2021-06-23

        // 人员信息
        /// <summary>
        /// 采购负责人（下拉选择）
        /// </summary>
        public string Purchaser { get; set; }  // 示例："张三"

        /// <summary>
        /// 制单人员（默认当前用户）
        /// </summary>
        public string CreatedBy { get; set; } // 默认值：admin

        /// <summary>
        /// 制单时间（默认当前时间）
        /// </summary>
        public DateTime CreatedDate { get; set; } = DateTime.Now;  // 示例："2025-03-26"
    }
}
